package com.zzhardy.example.complex.model;

import java.util.List;
import java.util.Map;

import cn.zzhardy.annotation.SheetField;
import cn.zzhardy.annotation.SheetField.FunctionType;
import com.zzhardy.example.common.SysLog;
import com.zzhardy.example.common.SysUser;
import lombok.Data;
import org.apache.poi.ss.usermodel.HorizontalAlignment;

/**
 * @Author：朱志辉
 * @Date：2021/03/09
 * @Function: 表格报告显示形式
 */
@Data
public class ReportBody {

    @SheetField(name = "表单报告生成", sort = 1, same = true, functionType = FunctionType.TITLE, horizontalMergeNum = 5,
                titleBackground = "27,79,147", height = 30, fontColor = "#ffffff", fontSize = 14, isBold = true)
    private String title;
    
    @SheetField(name = "   柱状图报告统计", sort = 2, same = true, functionType = FunctionType.TITLE, horizontalMergeNum = 5,
                titleBackground = "217, 225, 242", alignment = HorizontalAlignment.LEFT, isBold = true)
    private String digitalTitle;
    
    @SheetField(name = "柱状图报告统计", sort = 3, same = true, functionType = FunctionType.HISTOGRAM, horizontalMergeNum = 5,
                height = 120)
    private Map<String, Object> digitalDetail;

    @SheetField(name = "   饼状图报告统计", sort = 4, same = true, functionType = FunctionType.TITLE, horizontalMergeNum = 5,
                titleBackground = "217, 225, 242", alignment = HorizontalAlignment.LEFT, isBold = true)
    private String digitalTitle1;
    
    @SheetField(name = "饼状图报告统计", sort = 5, same = true, functionType = FunctionType.PIE_CHART, horizontalMergeNum = 5,
                height = 120)
    private Map<String, Object> digitalDetail1;

    @SheetField(name = "   折线图报告统计", sort = 6, same = true, functionType = FunctionType.TITLE, horizontalMergeNum = 5,
                titleBackground = "217, 225, 242", alignment = HorizontalAlignment.LEFT, isBold = true)
    private String digitalTitle2;

    @SheetField(name = "折线图报告统计", sort = 7, same = true, functionType = FunctionType.LINE_CHART, horizontalMergeNum = 5,
                height = 120)
    private Map<String, Object> digitalDetail2;

    @SheetField(name = "  日志报告详情", sort = 8, same = true, functionType = FunctionType.TITLE, horizontalMergeNum = 5,
                titleBackground = "217, 225, 242", alignment = HorizontalAlignment.LEFT, isBold=true)
    private String logListTitle;

    @SheetField(name = "日志", sort = 8, same = true)
    private List<SysLog> logList;

    @SheetField(name = "  日志报警报告详情", sort = 9, same = true, functionType = FunctionType.TITLE, horizontalMergeNum = 5,
                titleBackground = "217, 225, 242", alignment = HorizontalAlignment.LEFT, isBold=true)
    private String logWarnListTitle;

    @SheetField(name = "日志报警", sort = 10, same = true)
    private List<SysLog> logWarnList;

    @SheetField(name = "  用户信息详情", sort = 11, same = true, functionType = FunctionType.TITLE, horizontalMergeNum = 5,
                titleBackground = "217, 225, 242", alignment = HorizontalAlignment.LEFT, isBold=true)
    private String sysUsersTitle;
    
    @SheetField(name = "用户信息", sort = 12, same = true)
    private List<SysUser> sysUsers;
   
}
